//////////////////////////////////////////////////////////////////////////////////////////////////////
// 项目名   : Readme.html
// 文件名   : Expected.h
// 作者     : Aiye
// 日期     : 2025/9/8 01:09
// 邮箱     : 2878548868@qq.com
// 摘要     : 介绍预期值
//////////////////////////////////////////////////////////////////////////////////////////////////////
#ifndef README_HTML_VARIANT_H
#define README_HTML_VARIANT_H
#include <expected>
#include <iostream>

/**
 * @brief 表示一个可能包含值或错误类型
 */
class Expected
{
public:
    Expected()
    {
        auto fuc = [](bool bSuccess)->std::expected<int , EErrorCode>
        {
            if (bSuccess)
            {
                return 42;
            }
            else
            {
                return std::unexpected(EErrorCode::eInvalidInput);
            }
        };
        auto result = fuc(true);

        if (result)
        {
            std::cout << "Value: " << *result << std::endl;
        }
        else
        {
            std::cout << "Error: " << static_cast<int>(result.error()) << std::endl;
        }
    }

private:
    enum class EErrorCode
    {
        eSuccess,
        eInvalidInput,
        eNetWorkError,
    };
};
#endif //README_HTML_VARIANT_H